# -*- coding: utf-8 -*-

from django.test import TestCase, Client
from django.core.urlresolvers import reverse

import json

from sgr.models import * 


class Exemplo1TestCase(TestCase):

    def setUp(self): 
        self.recurso = Recurso.objects.create(capacidade=1, descricao='setUp', status='em_servico', nome='setUp', tipo='datashow')


    def test_adicionar_recurso_capacidade_menor_que_1(self):
        """
        """
        dados = {
            'capacidade': '-1',
            'descricao': 'dsdssd',
            'status': 'em_servico',
            'nome': 'teste2',
            'tipo': 'datashow'
        }

        url = reverse('recurso.novo')
        c = Client()
        response = c.post(url, dados)

        var_json = json.loads(response.content)
        self.assertFalse(var_json['success'])
        

    def test_adicionar_recurso_com_capacidade_nula(self):
        """
        """
        dados = {
            'capacidade': '',
            'descricao': 'dsdssd',
            'status': 'em_servico',
            'nome': 'teste2',
            'tipo': 'datashow'
        }

        url = reverse('recurso.novo')
        c = Client()
        response = c.post(url, dados)

        var_json = json.loads(response.content)
        self.assertFalse(var_json['success'])
        

    def test_adicionar_recurso_com_nome_nulo(self):
        """
        """
        dados = {
            'capacidade': '1',
            'descricao': 'dsdssd',
            'status': 'em_servico',
            'nome': '',
            'tipo': 'datashow'
        }

        url = reverse('recurso.novo')
        c = Client()
        response = c.post(url, dados)

        var_json = json.loads(response.content)
        self.assertFalse(var_json['success'])
 

    def test_adicionar_recurso_com_status_nulo(self):
        """
        """
        dados = {
            'capacidade': '1',
            'descricao': 'dsdssd',
            'status': '',
            'nome': 'aa',
            'tipo': 'datashow'
        }

        url = reverse('recurso.novo')
        c = Client()
        response = c.post(url, dados)

        var_json = json.loads(response.content)
        self.assertFalse(var_json['success'])
 
    
    def test_editar_capacidade_recurso(self):
        """
        """
        dados = {
            'capacidade': '1',
            'descricao': 'setUp',
            'status': 'em_servico',
            'nome': 'setUp',
            'tipo': 'datashow'
        }

        url = reverse('recurso.editar', kwargs={'id': self.recurso.id})
        c = Client()
        response = c.post(url, dados)

        var_json = json.loads(response.content)
        self.assertTrue(var_json['success'])
        

    def test_editar_nome_recurso(self):
        """
        """
        dados = {
            'capacidade': '1',
            'descricao': 'setUp',
            'status': 'em_servico',
            'nome': 'setUp',
            'tipo': 'datashow'
        }

        url = reverse('recurso.editar', kwargs={'id': self.recurso.id})
        c = Client()
        response = c.post(url, dados)

        var_json = json.loads(response.content)
        self.assertTrue(var_json['success'])
 

    def test_editar_status_recurso(self):
        """
        """
        dados = {
            'capacidade': '1',
            'descricao': 'setUp',
            'status': 'em_servico',
            'nome': 'setUp',
            'tipo': 'datashow'
        }

        url = reverse('recurso.editar', kwargs={'id': self.recurso.id})
        c = Client()
        response = c.post(url, dados)

        var_json = json.loads(response.content)
        self.assertTrue(var_json['success'])
 

    def test_editar_tipo_recurso(self):
        """
        """
        dados = {
            'capacidade': '1',
            'descricao': 'setUp',
            'status': 'em_servico',
            'nome': 'setUp',
            'tipo': 'sala'
        }

        url = reverse('recurso.editar', kwargs={'id': self.recurso.id})
        c = Client()
        response = c.post(url, dados)

        var_json = json.loads(response.content)
        self.assertFalse(var_json['success'])
 

